﻿    :root {
        --bg: #f4f7f9;
        --card: #fff;
        --accent: #478CBF;
        --text: #333;
    }

    body {
        font-family: Segoe UI, Roboto, Arial, sans-serif;
        background: var(--bg);
        color: var(--text);
        margin: 0;
        padding: 1rem;
    }

    header {
        background: var(--accent);
        color: #fff;
        padding: 1.5rem;
        border-radius: 8px;
        margin-bottom: 1rem;
        text-align: center;
    }

    .container {
        max-width: 1100px;
        margin: 0 auto;
    }

    .back {
        display: inline-block;
        margin: 0.5rem 0;
        color: var(--accent);
        text-decoration: none;
    }

    .gallery {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap: 12px;
    }

    .thumb {
        background: var(--card);
        border-radius: 8px;
        overflow: hidden;
        display: block;
        text-align: center;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
        cursor: pointer;
    }

    .thumb img {
        width: 100%;
        height: 110px;
        object-fit: cover;
        display: block;
        transition: transform .15s ease;
    }

    .thumb:hover img {
        transform: translateY(-4px);
        filter: brightness(0.98);
    }

    .caption {
        padding: 6px 8px;
        font-size: 0.9rem;
        color: #444;
    }

    @media (max-width:600px) {
        .thumb img {
            height: 90px;
        }
    }

    footer {
        text-align: center;
        padding: 2rem;
        background: #eee;
        margin-top: 3rem;
        font-size: 0.9rem;
    }

    footer a {
        color: #666;
        text-decoration: none;
        margin: 0 10px;
    }

    footer a:hover {
        text-decoration: underline;
    }

    /* Lightbox Styles */
    #lightbox {
        display: none;
        position: fixed;
        z-index: 1000;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.9);
        user-select: none;
    }

    #lightbox-img {
        max-width: 100%;
        max-height: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
        z-index: 10;
    }

    .lb-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: rgba(255, 255, 255, 0.1);
        color: #fff;
        font-size: 2rem;
        padding: 1rem;
        cursor: pointer;
        border: none;
        transition: background 0.2s;
        z-index: 20;
    }

    .lb-nav:hover {
        background: rgba(255, 255, 255, 0.2);
    }

    #lb-prev {
        left: 0;
        border-radius: 0 8px 8px 0;
    }

    #lb-next {
        right: 0;
        border-radius: 8px 0 0 8px;
    }

    #lb-close {
        position: absolute;
        top: 20px;
        right: 20px;
        color: #fff;
        font-size: 1.2rem;
        background: rgba(0, 0, 0, 0.5);
        padding: 4px 15px;
        border-radius: 20px;
        cursor: pointer;
        z-index: 20;
    }

    #lb-fullscreen {
        position: absolute;
        top: 20px;
        right: 75px;
        color: #fff;
        font-size: 1.2rem;
        background: rgba(0, 0, 0, 0.5);
        padding: 4px 15px;
        border-radius: 20px;
        cursor: pointer;
        z-index: 20;
    }

    #lb-play {
        position: absolute;
        top: 20px;
        right: 135px;
        color: #fff;
        font-size: 1.2rem;
        background: rgba(0, 0, 0, 0.5);
        padding: 4px 15px;
        border-radius: 20px;
        cursor: pointer;
        z-index: 20;
    }

    #lb-counter {
        position: absolute;
        top: 20px;
        left: 50%;
        transform: translateX(-50%);
        color: #fff;
        font-size: 1.2rem;
        background: rgba(0, 0, 0, 0.5);
        padding: 4px 20px;
        border-radius: 20px;
        z-index: 20;
    }

    /* Optimierung für Querformat / kleine Höhen */
    @media (max-height: 500px) {
        #lb-counter {
            top: auto;
            bottom: 20px;
            font-size: 1rem;
        }

        #lb-close {
            top: 10px;
            right: 15px;
            font-size: 1rem;
            padding: 3px 12px;
        }

        #lb-fullscreen {
            top: 10px;
            right: 60px;
            font-size: 1rem;
            padding: 3px 12px;
        }

        #lb-play {
            top: 10px;
            right: 105px;
            font-size: 1rem;
            padding: 3px 12px;
        }

        .lb-nav {
            padding: 0.6rem;
            font-size: 1.5rem;
        }

        #lightbox-img {
            max-height: 75%;
        }
    }